#ifndef __APP_BT_H__
#define __APP_BT_H__

#include "app_device.h"

/**
 * @brief 初始化蓝牙模块
 *
 * @param device 设备对象
 * @return int 0:成功
 */
int app_bt_init(Device_t *device);

/**
 * @brief 往蓝牙模块写入前的一些处理
 *
 * @param data 字符数组数据 => 先传过来处理过后再写入
 * @param len  数据长度
 * @return int  返回处理后的数据长度
 */
int app_bt_preWrite(char *data, int len);

/**
 * @brief 读取蓝牙模块数据后一些处理
 *
 * @param data 读取到的蓝牙数据 => 先处理再返回给调用者
 * @param len  数据长度
 * @return int 返回处理后的数据长度
 */
int app_bt_postRead(char *data, int len);

typedef enum
{
    BT_BR_9600 = '4',
    BT_BR_115200 = '8',
} BT_BR;

// 判断蓝牙连接状态
int app_bt_status(Device_t *device);

// 修改蓝牙名称
int app_bt_rename(Device_t *device, char *name);

// 修改蓝牙波特率
int app_bt_setBaudRate(Device_t *device, BT_BR baudRate);

// 重启蓝牙
int app_bt_reset(Device_t *device);

// 设置蓝牙的组网ID
int app_bt_setNetId(Device_t *device, char *netId);

// 设置蓝牙的mac地址
int app_bt_setMaddr(Device_t *device, char *maddr);

#endif /* __APP_BT_H__ */
